Skip to content

Conversation

skarpovdev
Copy link
Contributor

@skarpovdev skarpovdev commented Oct 10, 2025

Motivation and Context

The changes are needed for #310 to run integration tests which rely on Docker only on Ubuntu, since macOS machines don't have Docker preinstalled.

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@skarpovdev skarpovdev marked this pull request as ready for review October 11, 2025 10:55
@Copilot Copilot AI review requested due to automatic review settings October 11, 2025 10:55
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modifies the CI workflow to run validation on multiple operating systems (macOS and Ubuntu) with different test configurations. The primary motivation is to support Docker-dependent integration tests only on Ubuntu, since macOS machines don't have Docker preinstalled.

  • Splits the single validation job into a matrix build with macOS and Ubuntu configurations
  • Adds conditional test exclusion for Docker-dependent tests on macOS
  • Separates full build validation (macOS) from integration test validation (Ubuntu)

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
kotlin-sdk-test/build.gradle.kts Adds conditional exclusion of TypeScript tests when excludeDockerTests system property is true
.github/workflows/build.yml Converts single job to matrix strategy with OS-specific configurations and test exclusions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

useJUnitPlatform()
if (System.getProperty("excludeDockerTests") == "true") {
filter {
excludeTestsMatching("*.typescript.*")
Copy link

Copilot AI Oct 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test exclusion pattern *.typescript.* uses a generic wildcard that may inadvertently exclude tests beyond Docker-dependent ones. Consider using a more specific pattern like *DockerTest* or *IntegrationTest* to clearly identify which tests require Docker, making the exclusion logic more maintainable and less prone to accidentally excluding unrelated tests.

Suggested change
excludeTestsMatching("*.typescript.*")
excludeTestsMatching("*DockerTest*")

Copilot uses AI. Check for mistakes.

include:
- os: macos-latest-xlarge
name: "macOS"
java-opts: "-Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g -DexcludeDockerTests=true"
Copy link

Copilot AI Oct 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The excludeDockerTests system property is set here but referenced as excludeDockerTests in the Gradle file, while the Gradle code checks for System.getProperty("excludeDockerTests"). Consider using a more descriptive property name like excludeDockerDependentTests to make the purpose clearer and ensure consistency between the workflow and build script.

Suggested change
java-opts: "-Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g -DexcludeDockerTests=true"
java-opts: "-Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g -DexcludeDockerDependentTests=true"

Copilot uses AI. Check for mistakes.

@skarpovdev skarpovdev closed this Oct 13, 2025
@skarpovdev skarpovdev deleted the skarpov/workflow branch October 13, 2025 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant